میکروکنترلرهای AVR
پیغام مدیر :
با سلام خدمت شما بازديدكننده گرامي ، خوش آمدید به سایت من . لطفا براي هرچه بهتر شدن مطالب اين وب سایت ، ما را از نظرات و پيشنهادات خود آگاه سازيد و به ما را در بهتر شدن كيفيت مطالب ياري کنید.
میکروکنترلرهای AVR
نوشته شده در شنبه 15 بهمن 1390
بازدید : 2164
نویسنده : فرزاد قاسم پور

این سری از میکروکنترلرها بسیار مورد استفاده قرار می گیرند.

برای انجام پروژه باید ببینیم که به چه چیزی نیاز داریم و کدام میکروکنترلر نیاز ما را برآورده می کند. در پروژه های کوچک 8051 به دلیل ارزانی انتخاب خوبی است ولی در پروژه هایی که نیاز به امکانات بیشتر داریم (مثلاً خود برنامه ریزی) مجبوریم از AVR استفاده کنیم. AVR ها در بیشتر پروژه ها جواب می دهند به همین دلیل و به دلیل اینکه قیمت میانی دارند، استفاده از این میکروکنترلرها را ترجیح می دهیم.

AVR ها به چند دسته تقسیم می شوند:

1)       AT90s یا سری کلاسیک که اولین سری تولید شده AVR هستند و قدیمی می باشند.

2)       AT Tiny که دارای CPU قدرتمندی است و پایه های کمتری نسبت به AT90s دارد.

3)       AT Mega که امکانات بیشتری نسبت به دو سری قبل دارد.

4)       ATxMega که در سال 2008 ساخته شده اند و مشکلات AVR های قدیمی را رفع کرده اند.

5)       AT Can، ATUSB، ATRF و دیکر میکروکنترلر های تولیدی این شرکت در ایران یافت نمی شوند به این دلیل به معرفی آنها نمی پردازیم.

ما از میان AVR ها میکروکنترلر ATmega 16 را انتخاب می کنیم دلیل آن هم این است که این سری تمامی ویژگی های میکروکنترلرهای قبل از خود را دارد و مرز میان AVR های قدیمی و جدید می باشد و قیمتی در حدود 2000 تومان دارد.

البته مشخصات ATmega 32 مانند ATmega 16 می باشد و فقط حافظه ی بیشتری دارد. چون قیمت ATmega 32 حدود 1.5 برابر ATmega 16 می باشد از ATmega 32 استفاده نمی کنیم.

برنامه ای که اشخاص مبتدی می نویسند حداکثر 4KB حافظه را پر می کند.

توان 2 نام میکرو کنترلر ها مقدار حافظه ی آنها را بر حسب کیلو بایت مشخص می کند. مثلاً AT90s2313 دارای 2KB حافظه و ATtiny85 دارای 8KB حافظه و ATmega 16 دارای 16 کیلوبایت حافظه است.

دیتاشیت پایه های ATmega 16 را در قسمت دانلود می توانید مشاهده کنید.

سؤال: مزیت AVR نسبت به 8051 چیست؟

AVR خصوصیات زیر را دارد:

1)       دارای حافظه ی Boot Loader یا خود برنامه ریزی که در 8051 وجود ندارد.

2)       دارای حافظه ی EEPROM که در 8051 اصلی نیست و برای متصل کردن EEPROM به 8051 باید از 16 پایه ی آن استفاه می کردیم.

3)       قابلت هایی مانند RC5 (RC5 یعنی فرکانس سیگنال ارتباطی بین فرستنده [کنترل] و گیرنده [مانند تلویزیون، کولر و...] اکثر لوازم اکترونیکی کنترل دار) و  اتصال صفحه ی لمسی (Touch Screen).

4)       دارای مقاومت Pull-up داخلی (مقاومت بالاکش) که در 8051 نیست و باید خودمان آن را در بیرون مدار قرار دهیم. (مقاومت بالاکش، میکروکنترلر را از جریان دهی و یا جریان کشی (Sink/Source) بیش از حد که باعث سوختن میکروکنترلر می شود، حفاظت می کند)

5)       بافر خروجی AVR می تواند تا 20mA جریان به خروجی بدهد بنابراین می توان یک LED را مستقیماً به میکرو وصل کرد در حالی که در 8051 جریان دهی کمتر است (در حدود 2mA).

6)       دارای Watchdog یا سگ نگهبان که در صورت اختلال در اجرای برنامه، میکروکنترلر را ریست می کند.

7)       دارای مدهای مصرف کم مانند Sleep، Power Down و Power Save.

8)       دارای حافظه ای تا 100 برابر حافظه 8051.

9)       برنامه ریزی به روش ISP که در این روش همانطور که میکروکنترلر در مدار قرار دارد، می توان آن را برنامه ریزی کرد.

10)   ساخت پروگرامر AVR ساده است و قیمت پروگرامر AVR کمتر از نصف پروگرامر 8051 است.

11)   نرم افزار های شبیه سازی (امولاتور) و برنامه نویسی AVR ها بسیار بیشتر از 8051 می باشد.

12)   AVR ها دارای فیوزبیت (Fuse Bit) می باشند که در 8051 وجود ندارد.

13)   بعضی از AVR ها دارای زمان واقعی RTC (Real Time Clock) هستند (که نیاز به قطعات خارجی را کاهش می دهند) در 8051 باید از آیسی هایی مانند PCF8535 یا DS1307 برای ایجاد زمان واقعی استفاده می کردیم.

14)   منابع وقفه در AVR بیشتر از 8051 است.

15)   می توانیم از تایمر کانتر AVR در حالت مقایسه ای، PWM (Pulse Width Modulation) یا مدولاسیون پهنای پالس و کپچر استفاده کنیم.

16)   می توانیم از پروتکل شبکه TCP/IP در AVR استفاده کنیم.

17)   دارای مبدل آنالوگ به دیجیتال داخلی (ADC (Analog to Digital Converter))

18)   قابلیت ارتباط دو یا چند میکروکنترلر با روش SPI (Serial Peripheral Interface) یا رابط سریال خارجی

19)   قابلیت ارتباط دو سیمه I2C یا 2-Wire که توسط شرکت فیلیپس ابداع شده.

20)   ایجاد سیگنال تلفن یا DTMF.

21)   مقایسه کننده داخلی ACI (Analog Comparator).

22)   قابلیت اتصال پروگرامر JTAG (Joint Test Access Group) برای رفع اشکال برنامه نویسی در AVR های ساخته شده ی هم زمان یا  بعد از ATmega16.

23)   استفاده از معماری RISC (Reduced Instruction Set Computer) یا کامپیوتر با دستورات کاهش یافته؛ در این روش پردازش سریع تر می شود و برنامه نویسی مشکل تر خواهد شد؛ بنابراین سرعت AVR در یک فرکانس کاری دوازده برابر 8051 و چهار برابر PIC می باشد.

24)   استفاده از معماری خط لوله؛ در معماری خط لوله زمانی که دستوری در حال اجرا است، دستور دیگر فراخوانی می شود.

25)   اتصال LCD (Liquid Crystal Display) گرافیکی رنگی و غیر رنگی به میکروکنترلر AVR.

26)   برای شروع به کار 8051 می بایست میکروکنترلر را حتماً Reset می کردیم و مدار ریست برای میکرو کنترلر قرار می دادیم ولی در AVR نیازی به این کار نیست.

27)   تطابق کامل با زبان های برنامه نویسی سطح بالا ((HLL (High Level Languages) و میانی که یکی از اهداف ساخت AVR محسوب می شود.

سؤال: فیوز بیت چیست؟ فیوز بیت ها برای تنظیمات داخلی میکروکنترلرها بکار می روند. مثلاً مشخص می کنند که میکروکنترلر با کریستال خارجی کار کند یا با کریستال داخلی و...

ویژگی های مشترک AVR و 8051 به صورت زیر هستند:

اتصال صفحه کلید و صفحه کلید کامپیوتر به میکروکنترلر-اتصال LCD کاراکتری-تایمر و کانتر- وقفه های خارجی- انتخاب پورت به صورت ورودی و خروجی- استفاده از پورت ها به صورت ورودی و خروجی






مطالب مرتبط با این پست
.



می توانید دیدگاه خود را بنویسید


نام
آدرس ایمیل
وب سایت/بلاگ
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

آپلود عکس دلخواه: